package com.beiming.libra.service;


import com.beiming.libra.domain.ArbitrationBusinessDisputes;
import com.beiming.libra.domain.ArbitrationCaseDocument;
import com.beiming.libra.domain.dto.requestdto.caseapply.CaseApplyRequestDTO;
import com.beiming.libra.domain.dto.requestdto.caseapply.DisputeRequestDTO;
import com.beiming.libra.domain.dto.requestdto.caseapply.MultiAddCaseRequestDTO;
import com.beiming.libra.domain.dto.responsedto.caseapply.MutiAddCaseResponseDTO;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;

/**
 * @author tp Date : 2018/6/5/005 9:17
 */
public interface CaseApplyService {

  /**
   * 添加纠纷要素
   */
  int insertBusinessDisputes(ArbitrationBusinessDisputes arbitrationBusinessDisputes);

  /**
   * 批量添加证据材料
   *
   * @param arbitrationCaseDocumentList 证据材料
   * @param caseId 案件id
   */
  int insertArbitrationCaseDocumentList(List<ArbitrationCaseDocument> arbitrationCaseDocumentList,
      String caseId);

  /**
   * 获得纠纷类型
   */
  List<DisputeRequestDTO> selectDisputeType(Integer type);

  /**
   * 认证信息是否填写完成
   *
   * @param currentUserId 当前用户id
   */
  Boolean authentication(String currentUserId);

  /**
   * 新增案件
   *
   * @param caseApplyRequestDTO 案件申请传输对象
   * @return id
   */
  int insertArbitrationCase(CaseApplyRequestDTO caseApplyRequestDTO, String userId);

  /**
   * 批量添加案件方法
   */
  List<MutiAddCaseResponseDTO> multiAddCase(MultiAddCaseRequestDTO multiAddCaseRequestDTO, HttpServletRequest request)
      throws Exception;

  /**
   * 获取证据类型
   */
  Map<String, Object> getEvidenceType();
}
